#ifndef COMPOUNDFACILITIESSOLVER_H_
#define COMPOUNDFACILITIESSOLVER_H_

#include "graphsupport/solve/facilitylocation/IFacilityLocationSolver.h"

class CompoundFacilitiesSolver : public IFacilityLocationSolver
{
public:
	virtual bool solve(
		FacilitiesGraph & fgraph,
		std::vector< char > & isFacilityOpenVec,
		std::vector< int > & cityWitnessVec
	);

public:
	void addSubSolver( const IFacilityLocationSolverPtr & subSolver );

private:
	std::vector< IFacilityLocationSolverPtr > subSolversVec;
};

#endif /* COMPOUNDFACILITIESSOLVER_H_ */
